Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Szukam][8.1]NPC ktory zamienia itemy


Rekomendowane odpowiedzi

Opublikowano

Cleaner:

 lastclean = 0
hasWarned = 0
focus = 0
talk_start = 0
target = 0
following = false
attacking = false

function onThingMove(creature, thing, oldpos, oldstackpos)

end


function onCreatureAppear(creature)

end


function onCreatureDisappear(cid, pos)

end


function onCreatureTurn(creature)

end


function onCreatureSay(cid, type, msg)

end

function onCreatureChangeOutfit(creature)

end


function onThink()
if lastclean == 0 then
lastclean = os.time()
end
if os.difftime(os.time(), lastclean) >= (29*60) and hasWarned == 0 then
selfSay('/B Server clean in one minute. Please do not leave any valuable items on the ground!')
hasWarned = 1
end
if os.difftime (os.time(), lastclean) >= (30*60) then
selfSay('/clean')
lastclean = os.time()
end
end 

Item:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)                npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)             npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)            npcHandler:onCreatureSay(cid, type, msg)        end
function onThink()                    npcHandler:onThink()                    end

local config = {
    itemId = 11192, -- // Tutaj id przedmiotu, ktory npc bedzie potrzebowal
    itemCount = 20, -- // Tutaj ilosc przedmiotow, z powyzszym ID
    reward = {2560, 1} -- // Tutaj nagroda po przecinku ilosc
}
function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    if(msgcontains(msg, 'mlvl')) then -- Słowo "mission" zamieniamy na dowolne słowo, na które npc ma reagować.  
        if(getPlayerStorageValue(cid, storageKey) <= 100000000000000) then -- Tutaj jest sprawdzane, czy gracz juz wykonal misje czy tez nie
            npcHandler:say("Zdobadz dla mnie...", cid)  -- tekst
            talkState[talkUser] = 1 
        else
            npcHandler:say("Wykonales juz ta misje", cid)  
        end
    elseif(msgcontains(msg, 'yes')) then
        if(talkState[talkUser] == 1) then
            if(doPlayerRemoveItem(cid, config.itemId, config.itemCount)) then 
                npcHandler:say("Dziekuje za przedmioty", cid)  
                setPlayerStorageValue(cid, storageKey, 0) 
                doPlayerAddItem(cid, config.reward[1], config.reward[2])  
            else 
                npcHandler:say("Nie masz wystarczajacych przedmiotow", cid)  
            end  
            talkState[talkUser] = 0  
        end
    end
    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())  

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...